General purpose functions
This section describes general purpose PKCS#11 functions.
C_Initialize
C_INITIALIZE initializes the Cryptoki library.
The pInitArgs either has the value NULL_PTR or points to a CK_C_INITIALIZE_ARGS structure containing information on how the library should deal with multi-threaded access.
If the system is currently uninitialized, this function will perform a full initialization. This means that any configuration changes since the last full initialization will now take effect. If the system is already initialized, this function will simply prepare it for the new application.
Synopsis
C_Initialize(
CK_VOID_PTR pInitArgs
);
Operation in WLD Mode
When ProtectToolkit is configured to operate in WLD mode and C_INITIALIZE() is invoked, the user slots associated with WLD slots are interrogated to assess their availability. User slots are defined as associated with a WLD slot when they contain a token with a token label that matches that of the WLD slot.
If, for every WLD slot, there are no associated user slots available, the error CKR_TOKEN_NOT_PRESENT is returned. If, however, at least one associated user slot is available for at least one WLD slot the error CKR_TOKEN_NOT_PRESENT will not be returned.
Note
The token labels for WLD slots are defined in the WLD environment variables ET_PTKC_WLD_SLOT_n. Refer to WLD system setup for details regarding configuration of WLD environment variables.
C_Finalize
This function behaves as specified in PKCS#11, but with the following additional features:
If there are no other active applications, ProtectToolkit-C will free all allocated resources. The next call to C_INITIALIZE will therefore perform a full initialization of the system updating for any configuration changes.
Synopsis
C_Finalize(
CK_VOID_PTR pReserved
);
C_GetInfo
This function behaves as specified in PKCS#11.
The cryptokiVersion value is 2.20.
The manufacturerId is "SafeNet, Inc.”
The flags are all zero.
The libraryDescription is “Software Only”, "ProtectServer K7", or "ProtectServer K6" as appropriate.
The libraryVersion represents the client version.
Synopsis
C_GetInfo(
CK_INFO_PTR pInfo
);
C_GetFunctionList
This function behaves as specified in PKCS#11.
Synopsis
C_GetFunctionList(
CK_FUNCTION_LIST_PTR_PTR_PTR ppFunctionList
);